﻿
using System;
using System.Collections.Generic;
namespace Microsoft.Data.Edm
{
    /// <summary>
    /// Represents an EDM entity set.
    /// </summary>
    public interface IEdmEntitySet : IEdmEntityContainerElement, IEdmNamedElement, IEdmVocabularyAnnotatable, IEdmElement
    {
        /// <summary>
        /// Gets the entity type contained in this entity set.
        /// </summary>
        IEdmEntityType ElementType
        {
            get;
        }
        /// <summary>
        /// Gets the navigation targets of this entity set.
        /// </summary>
        IEnumerable<IEdmNavigationTargetMapping> NavigationTargets
        {
            get;
        }
        /// <summary>
        /// Finds the entity set that a navigation property targets.
        /// </summary>
        /// <param name="navigationProperty">The navigation property.</param>
        /// /// <returns>The entity set that the navigation propertion targets, or null if no such entity set exists.</returns>
        IEdmEntitySet FindNavigationTarget(IEdmNavigationProperty navigationProperty);
    }
}